package com.ruoyi.system.mapper;

import java.util.List;

import com.ruoyi.system.domain.Orde;
import com.ruoyi.system.domain.Property;
import com.ruoyi.system.domain.Time;
import com.ruoyi.system.domain.Vip;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * 会员管理Mapper接口
 * 
 * @author ruoyi
 * @date 2024-12-11
 */
public interface VipMapper 
{
    /**
     * 查询会员管理
     * 
     * @param vipId 会员管理主键
     * @return 会员管理
     */
    public Vip selectVipByVipId(Long vipId);

    @Select("SELECT shop_name,staff_property,vip_sheng,vip_shi,vip_qu,vip_xiangxi,build_type,price,vip_type," +
            "wish_time," +
            "`time`,vip_remark,status_orde from orde where vip_name=#{vipName} and vip_tel=#{vipTel}")
    public List<Orde> selectOrdeList(@Param("vipName") String vipName, @Param("vipTel") String vipTel);
    /**
     * 查询会员管理列表
     * 
     * @param vip 会员管理
     * @return 会员管理集合
     */
    public List<Vip> selectVipList(Vip vip);
    @Select("SELECT count(record_id) as vipOrderNum from vip v left join orde o on v.vip_name=o.vip_name and v.vip_tel=o.vip_tel GROUP BY v.vip_id")
    public List<Long> selectNum();

    /**
     * 新增会员管理
     * 
     * @param vip 会员管理
     * @return 结果
     */
    public int insertVip(Vip vip);

    /**
     * 修改会员管理
     * 
     * @param vip 会员管理
     * @return 结果
     */
    public int updateVip(Vip vip);

    /**
     * 删除会员管理
     * 
     * @param vipId 会员管理主键
     * @return 结果
     */
    public int deleteVipByVipId(Long vipId);

    /**
     * 批量删除会员管理
     * 
     * @param vipIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteVipByVipIds(Long[] vipIds);
}
